home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 15
/
Aminet 15 - Nov 1996.iso
/
Aminet
/
dev
/
basic
/
ace24dist.lha
/
ace24.lha
/
include
/
intuition
/
GadgetClass.h
< prev
next >
Wrap
C/C++ Source or Header
|
1996-09-10
|
12KB
|
376 lines
#ifndef INTUITION_GADGETCLASS_H
#define INTUITION_GADGETCLASS_H 1
/*
** gadgetclass.h for ACE Basic
**
** Note: Translated to ACE by ConvertC2ACE
** @ MapMeadow Software, Nils Sjoholm
**
**
** Date: 09/01/95
**
**
*/
/*
** This are the StructPointer defines for gadgetclass.h
*/
#ifndef gpGoInactivePtr
#define gpGoInactivePtr ADDRESS
#endif
#ifndef gpHitTestPtr
#define gpHitTestPtr ADDRESS
#endif
#ifndef gpInputPtr
#define gpInputPtr ADDRESS
#endif
#ifndef gpLayoutPtr
#define gpLayoutPtr ADDRESS
#endif
#ifndef gpRenderPtr
#define gpRenderPtr ADDRESS
#endif
#ifndef gpht_Mouse_StructPtr
#define gpht_Mouse_StructPtr ADDRESS
#endif
#ifndef gpi_Mouse_StructPtr
#define gpi_Mouse_StructPtr ADDRESS
#endif
/*
** End of StructPointer defines for gadgetclass.h
*/
#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif
#ifndef INTUITION_INTUITION_H
#include <intuition/intuition.h>
#endif
#ifndef UTILITY_TAGITEM_H
#include <utility/tagitem.h>
#endif
#ifndef GadgetInfoPtr
#define GadgetInfoPtr ADDRESS
#endif
/*
* NOTE: <intuition/iobsolete.h> is included at the END of this file!
*/
/* Gadget Class attributes */
#define GA_Dummy (TAG_USER +&H30000)
#define GA_Left (GA_Dummy + &H0001)
#define GA_RelRight (GA_Dummy + &H0002)
#define GA_Top (GA_Dummy + &H0003)
#define GA_RelBottom (GA_Dummy + &H0004)
#define GA_Width (GA_Dummy + &H0005)
#define GA_RelWidth (GA_Dummy + &H0006)
#define GA_Height (GA_Dummy + &H0007)
#define GA_RelHeight (GA_Dummy + &H0008)
#define GA_Text (GA_Dummy + &H0009) /* ti_Data is (BYTE *) */
#define GA_Image (GA_Dummy + &H000A)
#define GA_Border (GA_Dummy + &H000B)
#define GA_SelectRender (GA_Dummy + &H000C)
#define GA_Highlight (GA_Dummy + &H000D)
#define GA_Disabled (GA_Dummy + &H000E)
#define GA_GZZGadget (GA_Dummy + &H000F)
#define GA_ID (GA_Dummy + &H0010)
#define GA_UserData (GA_Dummy + &H0011)
#define GA_SpecialInfo (GA_Dummy + &H0012)
#define GA_Selected (GA_Dummy + &H0013)
#define GA_EndGadget (GA_Dummy + &H0014)
#define GA_Immediate (GA_Dummy + &H0015)
#define GA_RelVerify (GA_Dummy + &H0016)
#define GA_FollowMouse (GA_Dummy + &H0017)
#define GA_RightBorder (GA_Dummy + &H0018)
#define GA_LeftBorder (GA_Dummy + &H0019)
#define GA_TopBorder (GA_Dummy + &H001A)
#define GA_BottomBorder (GA_Dummy + &H001B)
#define GA_ToggleSelect (GA_Dummy + &H001C)
/* internal use only, until further notice, please */
#define GA_SysGadget (GA_Dummy + &H001D)
/* SHORTINT, sets GTYP_SYSGADGET field in type */
#define GA_SysGType (GA_Dummy + &H001E)
/* e.g., GTYP_WUPFRONT, ... */
#define GA_Previous (GA_Dummy + &H001F)
/* previous gadget (or (STRUCT Gadget **)) in linked list
* NOTE: This attribute CANNOT be used to link new gadgets
* into the gadget list of an open window or requester.
* You must use AddGList().
*/
#define GA_Next (GA_Dummy + &H0020)
/* not implemented */
#define GA_DrawInfo (GA_Dummy + &H0021)
/* some fancy gadgets need to see a DrawInfo
* when created or for layout
*/
/* You should use at most ONE of GA_Text, GA_IntuiText, and GA_LabelImage */
#define GA_IntuiText (GA_Dummy + &H0022)
/* ti_Data is (STRUCT IntuiText *) */
#define GA_LabelImage (GA_Dummy + &H0023)
/* ti_Data is an image (object), used in place of
* GadgetText
*/
#define GA_TabCycle (GA_Dummy + &H0024)
/* New for V37:
* Boolean indicates that this gadget is to participate in
* cycling activation with Tab or Shift-Tab.
*/
#define GA_GadgetHelp (GA_Dummy + &H0025)
/* New for V39:
* Boolean indicates that this gadget sends gadget-help
*/
#define GA_Bounds (GA_Dummy + &H0026)
/* New for V39:
* ti_Data is a pointer to an IBox structure which is
* to be copied into the extended gadget's bounds.
*/
#define GA_RelSpecial (GA_Dummy + &H0027)
/* New for V39:
* Boolean indicates that this gadget has the "special relativity"
* property, which is useful for certain fancy relativity
* operations through the GM_LAYOUT method.
*/
/* PROPGCLASS attributes */
#define PGA_Dummy (TAG_USER + &H31000)
#define PGA_Freedom (PGA_Dummy + &H0001)
/* only one of FREEVERT or FREEHORIZ */
#define PGA_Borderless (PGA_Dummy + &H0002)
#define PGA_HorizPot (PGA_Dummy + &H0003)
#define PGA_HorizBody (PGA_Dummy + &H0004)
#define PGA_VertPot (PGA_Dummy + &H0005)
#define PGA_VertBody (PGA_Dummy + &H0006)
#define PGA_Total (PGA_Dummy + &H0007)
#define PGA_Visible (PGA_Dummy + &H0008)
#define PGA_Top (PGA_Dummy + &H0009)
/* New for V37: */
#define PGA_NewLook (PGA_Dummy + &H000A)
/* STRGCLASS attributes */
#define STRINGA_Dummy (TAG_USER +&H32000)
#define STRINGA_MaxChars (STRINGA_Dummy + &H0001)
/* Note: There is a minor problem with Intuition when using boopsi integer
* gadgets (which are requested by using STRINGA_LongInt). Such gadgets
* must not have a STRINGA_MaxChars to be bigger than 15. Setting
* STRINGA_MaxChars for a boopsi integer gadget will cause a mismatched
* FreeMem() to occur.
*/
#define STRINGA_Buffer (STRINGA_Dummy + &H0002)
#define STRINGA_UndoBuffer (STRINGA_Dummy + &H0003)
#define STRINGA_WorkBuffer (STRINGA_Dummy + &H0004)
#define STRINGA_BufferPos (STRINGA_Dummy + &H0005)
#define STRINGA_DispPos (STRINGA_Dummy + &H0006)
#define STRINGA_AltKeyMap (STRINGA_Dummy + &H0007)
#define STRINGA_Font (STRINGA_Dummy + &H0008)
#define STRINGA_Pens (STRINGA_Dummy + &H0009)
#define STRINGA_ActivePens (STRINGA_Dummy + &H000A)
#define STRINGA_EditHook (STRINGA_Dummy + &H000B)
#define STRINGA_EditModes (STRINGA_Dummy + &H000C)
/* booleans */
#define STRINGA_ReplaceMode (STRINGA_Dummy + &H000D)
#define STRINGA_FixedFieldMode (STRINGA_Dummy + &H000E)
#define STRINGA_NoFilterMode (STRINGA_Dummy + &H000F)
#define STRINGA_Justification (STRINGA_Dummy + &H0010)
/* GACT_STRINGCENTER, GACT_STRINGLEFT, GACT_STRINGRIGHT */
#define STRINGA_LongVal (STRINGA_Dummy + &H0011)
#define STRINGA_TextVal (STRINGA_Dummy + &H0012)
#define STRINGA_ExitHelp (STRINGA_Dummy + &H0013)
/* STRINGA_ExitHelp is new for V37, and ignored by V36.
* Set this if you want the gadget to exit when Help is
* pressed. Look for a code of &H5F, the rawkey code for Help
*/
#define SG_DEFAULTMAXCHARS (128)
/* Gadget Layout related attributes */
#define LAYOUTA_Dummy (TAG_USER + &H38000)
#define LAYOUTA_LayoutObj (LAYOUTA_Dummy + &H0001)
#define LAYOUTA_Spacing (LAYOUTA_Dummy + &H0002)
#define LAYOUTA_Orientation (LAYOUTA_Dummy + &H0003)
/* orientation values */
#define LORIENT_NONE 0
#define LORIENT_HORIZ 1
#define LORIENT_VERT 2
/* Gadget Method ID's */
#define GM_Dummy (-1) /* not used for anything */
#define GM_HITTEST (0) /* return GMR_GADGETHIT if you are clicked on
* (whether or not you are disabled).
*/
#define GM_RENDER (1) /* draw yourself, in the appropriate state */
#define GM_GOACTIVE (2) /* you are now going to be fed input */
#define GM_HANDLEINPUT (3) /* handle that input */
#define GM_GOINACTIVE (4) /* whether or not by choice, you are done */
#define GM_HELPTEST (5) /* Will you send gadget help if the mouse is
* at the specified coordinates? See below
* for possible GMR_ values.
*/
#define GM_LAYOUT (6) /* re-evaluate your size based on the GadgetInfo
* Domain. Do NOT re-render yourself yet, you
* will be called when it is time...
*/
/* Parameter "Messages" passed to gadget class methods */
/* GM_HITTEST and GM_HELPTEST send this message.
* For GM_HITTEST, gpht_Mouse are coordinates relative to the gadget
* select box. For GM_HELPTEST, the coordinates are relative to
* the gadget bounding box (which defaults to the select box).
*/
STRUCT gpht_Mouse_Struct
SHORTINT X
SHORTINT Y
END STRUCT
STRUCT gpHitTest
LONGINT MethodID
GadgetInfoPtr gpht_GInfo
gpht_Mouse_Struct gpht_Mouse
END STRUCT
/* For GM_HITTEST, return GMR_GADGETHIT if you were indeed hit,
* otherwise return zero.
*
* For GM_HELPTEST, return GMR_NOHELPHIT (zero) if you were not hit.
* Typically, return GMR_HELPHIT if you were hit.
* It is possible to pass a SHORTINT to the application via the Code field
* of the IDCMP_GADGETHELP message. Return GMR_HELPCODE or'd with
* the SHORTINT-sized result you wish to return.
*
* GMR_HELPHIT yields a Code value of ((SHORTINT) ~0), which should
* mean "nothing particular" to the application.
*/
#define GMR_GADGETHIT (&H00000004) /* GM_HITTEST hit */
#define GMR_NOHELPHIT (&H00000000) /* GM_HELPTEST didn't hit */
#define GMR_HELPHIT (&HFFFFFFFF) /* GM_HELPTEST hit, return code = ~0 */
#define GMR_HELPCODE (&H00010000) /* GM_HELPTEST hit, return low SHORTINT as code */
/* GM_RENDER */
STRUCT gpRender
LONGINT MethodID
GadgetInfoPtr gpr_GInfo /* gadget context */
RastPortPtr gpr_RPort /* all ready for use */
LONGINT gpr_Redraw /* might be a "highlight pass" */
END STRUCT
/* values of gpr_Redraw */
#define GREDRAW_UPDATE (2) /* incremental update, e.g. prop slider */
#define GREDRAW_REDRAW (1) /* redraw gadget */
#define GREDRAW_TOGGLE (0) /* toggle highlight, if applicable */
/* GM_GOACTIVE, GM_HANDLEINPUT */
STRUCT gpi_Mouse_Struct
SHORTINT X
SHORTINT Y
END STRUCT
STRUCT gpInput
LONGINT MethodID
GadgetInfoPtr gpi_GInfo
InputEventPtr gpi_IEvent
ADDRESS gpi_Termination
gpi_Mouse_Struct gpi_Mouse
/* (V39) Pointer to TabletData structure, if this event originated
* from a tablet which sends IESUBCLASS_NEWTABLET events, or NULL if
* not.
*
* DO NOT ATTEMPT TO READ THIS FIELD UNDER INTUITION PRIOR TO V39!
* IT WILL BE INVALID!
*/
TabletDataPtr gpi_TabletData
END STRUCT
/* GM_HANDLEINPUT and GM_GOACTIVE return code flags */
/* return GMR_MEACTIVE (0) alone if you want more input.
* Otherwise, return ONE of GMR_NOREUSE and GMR_REUSE, and optionally
* GMR_VERIFY.
*/
#define GMR_MEACTIVE (0)
#define GMR_NOREUSE (&H2)
#define GMR_REUSE (&H4)
#define GMR_VERIFY (&H8) /* you MUST set gpi_Termination */
/* New for V37:
* You can end activation with one of GMR_NEXTACTIVE and GMR_PREVACTIVE,
* which instructs Intuition to activate the next or previous gadget
* that has GFLG_TABCYCLE set.
*/
#define GMR_NEXTACTIVE (&H10)
#define GMR_PREVACTIVE (&H20)
/* GM_GOINACTIVE */
STRUCT gpGoInactive
LONGINT MethodID
GadgetInfoPtr gpgi_GInfo
/* V37 field only! DO NOT attempt to read under V36! */
LONGINT gpgi_Abort /* gpgi_Abort=1 if gadget was aborted
* by Intuition and 0 if gadget went
* inactive at its own request
*/
END STRUCT
/* New for V39: Intuition sends GM_LAYOUT to any GREL_ gadget when
* the gadget is added to the window (or when the window opens, if
* the gadget was part of the NewWindow.FirstGadget or the WA_Gadgets
* list), or when the window is resized. Your gadget can set the
* GA_RelSpecial property to get GM_LAYOUT events without Intuition
* changing the interpretation of your gadget select box. This
* allows for completely arbitrary resizing/repositioning based on
* window size.
*/
/* GM_LAYOUT */
STRUCT gpLayout
LONGINT MethodID
GadgetInfoPtr gpl_GInfo
LONGINT gpl_Initial /* non-zero if this method was invoked
* during AddGList() or OpenWindow()
* time. zero if this method was invoked
* during window resizing.
*/
END STRUCT
/* Include obsolete identifiers: */
#ifndef INTUITION_IOBSOLETE_H
#include <intuition/iobsolete.h>
#endif
#endif